<?php

// 	// 新闻列表
/* 		echo 1;
 		print_r(5);
 		var_dump(10);
 		include_once (LIB_PATH.'my_db.php');
die;*/
 		/*session_start();
 		$link=mysqli_connect('127.0.0.1','root','root','hcs');
	 //判断数据库是否连接成功
		 if(!$link){
				// echo '数据库连接失败';die;
				echo '<script>alert("数据库连接失败");history.go(-1);</script>';//返回到前一个页面
				die;
		}

		// 设置数据库传输编码 mysqli_query(数据库连接成功的连接对象，数据库操作sql语句)
		mysqli_query($link,'set names utf8');*/

		//加载初始化文件
		//include('init.php');

		// //固定每页显示的记录数
		// $per_page=4;

		// //固定显示的页码数,来记录页码数
		// $page_num=5;

		// //获取页码
		// //$cur_page=$_GET['p'];//通过地址栏获取页码参数 当前访问页码数
		// /*if($cur_page==''){//判断当刚进入新闻列表页面的时候,页码为空
		// 		$cur_page=1;则将页码强制设置为1,
		// }else{
		// 	$cur_page=$_GET['p'];如果页码的值不为空，则等于当前页码数
		// }*/
		// //或者
		// $cur_page=empty($_GET['p'])?1:$_GET['p'];

		// //求limit的偏移量
		// $offset=($cur_page-1)*$per_page;

		// //求数据表总记录数
		// $sql ="select count(*) as total from `news` where endble=0";
		// $result=mysqli_query($link,$sql);
		// $total_num=mysqli_fetch_assoc($result)['total'];

		// //求总页码数并向上取整
		// $total_page=ceil($total_num/$per_page);

		// //判断
		// if($page_num>$total_page)//如果固定页码数大于总页码数
		// {
		// 	$page_num=$total_page;//则将固定的页码数设置为总页码数
		// }


		// //求访问a标签页码的偏移幅 公式=固定页码数/2 向下取整floor()
		// $offset_page=floor($page_num/2);//结果值为2

		// //计算循环的开始值  当前访问的页码-前后偏移幅
		// $star=$cur_page-$offset_page;//结果：-1

		// //计算循环的结束值 当前访问的页码+前后偏移幅
		// $end=$cur_page+$offset_page;//结果：3

		// //判断开始值是否出现负数的优化
		// if($star<1){//如果出现负数
		// 	$star=1;//则强制设置为1
		// 	$end=$page_num;//结束值等于固定页码数
		// }
		// //判断结束页码是否大于总页码数的优化
		// if ($end>$total_page) {//当结束页码大于总页码数
		// 	$star=$total_page-$page_num+1;//开始页码=总页码数-固定页码数+1；
		// 	//假设总页码数为20，每页显示5条数据。当显示的最后页码为20的时候，显示了5条页码，20-5=15，但此时应该显示的是16，因此要加1
		// 	$end=$total_page;//则将结束页码强制设置为总页码数
		// }

		// $pages='';//设置为空，通过for循环拼接页码
		// //首页
		// $disabled=$cur_page==1?'disabled':'';//当当前页=1的时候则显示禁用的效果
		// $href= $cur_page==1?'#':'index.php?admin=1&c=news&a=list&p=1';//当当前页=1的时候，显示禁用效果的功能
		// $pages.='<li class="'.$disabled.'"><a href="'.$href.'"  tabindex="0" class="paginate_button first" id="datatable1_first">首页</a></li>';

		// //上一页
		// $prev=$cur_page-1;
		// $prev_href= $cur_page==1?'#':'index.php?admin=1&c=news&a=list&p='.$prev;
		// $pages.='<li class="'.$disabled.'"><a href="'.$prev_href.'"  tabindex="0" class="paginate_button previous" id="datatable1_previous">上一页</a></li>';


		// //动态生成中间5页页码
		//  for($i=$star;$i<=$end;$i++){//页码开始值和结束值不能写死，必须是动态生成的
		// 	// 判断当前页码是否等于循环的$i值，是则显示选择状态的li标签
		// 	if($i==$cur_page){
		// 		$pages.='<li class="active"><a tabindex="0">'.$i.'</a></li>';
		// 	}else{
		// 		$pages.='<li><a href="index.php?admin=1&c=news&a=list&p='.$i.'" tabindex="0"> '.$i.'</a></li>';
		// 	}
		// }

		// //下一页
		// $disabled_q=$cur_page==$total_page?'disabled':'';//当当前页=最后一页的时候则显示禁用的效果
		// $next=$cur_page+1;
		// $next_href= $cur_page==$total_page?'#':'index.php?admin=1&c=news&a=list&p='.$next;
		// $pages.='<li class="'.$disabled.'"><a href="'.$next_href.'" tabindex="0" class="paginate_button next" id="datatable1_next">下一页</a></li>';

		// //最后一页
		// $last= $cur_page==$total_page?'#':'index.php?admin=1&c=news&a=list&p='.$total_page;//当当前页=1的时候，显示禁用效果的功能
		// $pages.='<li class="'.$disabled.'"><a href="'.$last.'" tabindex="0" class="paginate_button last" id="datatable1_last">最后一页</a></li>';

		//print_r($_SERVER);die;
		//print_r($_SERVER['HTTP_X_REQUESTED_WITH']);die;

		ob_clean();//清除输出缓存

		//批量操作：form表单提交，form要包住整个表单，把id先存在复选框的value属性里面，当去勾选多选框的提交的时候，会把多选框里勾选的id进行提交。这里的id是手动存储
		//对表单数据进行提交，就是提交value属性里面的值，当没有设置value属性值的时候，会动态默认将要提交的数据存储在value属性里面
		//select标签要给批量删除和审核value赋值，这样便于判断到底进行了那个操作
		//当要提交多个数据的时候，name后要加[],以中括号的形式进行提交
		if(!empty($_POST['selects'])&& !empty($_POST['check'])){
			$id=implode(',',$_POST['check']);
			$where="id in ($id)";
			if ($_POST['selects']==1) {
				$_rows=del('news',$where);
				//echo $_rows;die;
				if($_rows>0) {
				echo '<script>alert("数据删除成功");location.href="index.php?c=news&a=list&admin=1";</script>';
				}else{
					echo '<script>alert("数据删除失败");history.go(-1);</script>';
				}
			}
			else if($_POST['selects']==2){
				$_rows=edit('news',$where,array('status'=>1));
				if ($_rows>0) {
					echo '<script>alert("审核成功");location.href="index.php?c=news&a=list&admin=1";</script>';
				}else
				{
					echo '<script>alert("审核失败");history.go(-1);</script>';
				}
			}
			else{
				$_rows=edit('news',$where,array('status'=>0));
				if ($_rows>0) {
					echo '<script>alert("审核成功");location.href="index.php?c=news&a=list&admin=1";</script>';
				}else
				{
					echo '<script>alert("审核失败");history.go(-1);</script>';
				}
			}
		}

//测试
		//调用删除的封装语句
// 		$where[]=1;
// 		$where[]=2;
// 		$where[]=3;
// 		del('news',1);



		//调用查询一条数据的封装语句
// 		$data['username']=1;
// 		$data['password']=2;
// 		getSelectByOne('news',$data);//表名  条件

// die;

		//固定每页显示的记录数
		$per_page=4;

		//获取页码
		$cur_page=empty($_GET['p'])?1:$_GET['p'];

		//求limit的偏移量
		$offset=($cur_page-1)*$per_page;

		//调用翻页函数
		$pages=getPages($link,'news',$cur_page);


 	// 	//编写查询的sql语句
 	// 	$sql="select `news`.*,`cate`.name from `news`,`cate` where `news`.cate_id=`cate`.id and endble=0 order by  `news`.`id` desc limit $offset,$per_page";//查询没有被删除的数据
		// //执行sql语句
 	// 	$result=mysqli_query($link,$sql);

		// while ($arr=mysqli_fetch_assoc($result)) {
		// 	$data[]=$arr;
		// }

		//调用数据库封装：查询
		// $limit="$offset,$per_page";
		$where="news.cate_id=cate.id and endble=0";
		$field="news.*,cate.name";
		//$order="news.id desc";
		$data=getSelect('news,cate',$where,"news.id desc","$offset,$per_page",$field);

		//调用封装:查询分类
		//$cate=array();
		// $pid=!empty($_GET['id'])?$_GET['id']:0;
		// $where1="pid=".+$pid;
		// $cate=getSelect('cate',$where1);

		// //判断是否是ajax发送的请求
		// if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])){
		// 	echo json_encode($cate);die;
		// }


		//判断是否是ajax请求
		if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])){
			//print_r($data);//要注释掉，否则html页面的dataType:'json'不能运行

			//echo json_encode($data);
			//json_encode();//json_decode将数组转换成json字符串格式
			$json['data']=$data;//$data本身就是一个数组
			$json['pages']=$pages;
			echo json_encode($json);
			//echo json_encode(array('data'=>$data,'pages'=>$pages));//把数据和页码存储在数组里面，然后统一的转换数组，再把数组传到前台
			die;
		}

		//js数组结构 1,2,3,4,5,6：前端脚本语言
		//php数组结构：服务端源
		//array(
		//0=>1,
		//0=>1
		//)

		//修改状态值
		if (!empty($_SERVER['HTTP_X_REQUESTED_WITH'])) {
			// $id=$_POST['id'];
			// $status=$_POST['status'];
			// $sql="update `news` set `status`='$status' where `id`='$id'";
			// //执行sql语句
			// mysqli_query($link,$sql);
			// //获取更新语句受影响的行数（就是更新之后的数据的记录总数）
			// //注意$_rows返回的是1，不能在上方echo其他的值，否则或报错。如echo $sql="update `news` set `$filed`='$val' where `id`='$id'";
			// echo $_rows=mysqli_affected_rows($link);

			//调用修改的封装语句
			$data=$_POST;
			$where="id=".+$id;
			echo $_rows=edit('news',$where,$data);
			die;
		}

		//调用封装:查询分类，添加数据行的时候使用的分类下拉列表
		$cate=array();
		$pid=!empty($_GET['id'])?$_GET['id']:0;
		$where1="pid=".+$pid;
		$cate=getSelect('cate',$where1);

		if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])){
			echo json_encode($cate);die;
		}


		//加载后台公共视图
		//include('layout.html');
		//加载后台公共视图
		include (VIEW_PATH.$admin.'layout.html');

 ?>

